home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWABXL10.ZIP
/
LIST.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-06-12
|
15KB
|
1,257 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean TBOOLEAN001(60)
Boolean TBOOLEAN002(60)
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN012
Boolean BOOLEAN014
Boolean BOOLEAN015
Boolean BOOLEAN016
Boolean BOOLEAN017
DWord TDWORD001(60)
DWord DWORD002
DWord DWORD003
Date DATE001
Date DATE002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String TSTRING010(10)
String STRING011
String TSTRING012(60)
String TSTRING013(60)
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING027
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
Time TIME001
Time TIME002
Int INT001
Int INT002
Int TINT003(60)
Int INT004
Int INT005
Int INT006
Int INT009
Int INT010
Int TINT011(10)
Int TINT012(10)
Int INT013
Int INT014
Int INT015
Int INT017
Int INT019
Int INT023
Int INT024
Int INT025
Int INT027
Int INT028
Int INT029
Int INT030
Int INT031
Int INT032
Int INT033
Int INT034
Int INT035
Int INT040
Int INT041
Int INT042
Int INT043
Int INT044
Int INT048
Int INT049
Int INT050
Int INT051
Int INT052
Int INT055
Int INT056
BigStr BIGSTR001
BigStr BIGSTR002
Declare Function FUNCTION001(String STRING043, String STRING044, Int INT057) Boolean
Declare Function FUNCTION002(Int INT053, Int INT054) Int
Declare Function FUNCTION003(Int INT026) Int
Declare Function FUNCTION004(Int INT007, String STRING026, Int INT008) Int
Declare Function FUNCTION005(Int INT018, String STRING028) Int
Declare Procedure PROC001(Var String STRING029, Var Int INT020)
Declare Procedure PROC002(String STRING033, Int INT022)
Declare Procedure PROC003(Int INT037, Int INT038, Var Boolean BOOLEAN011, Var Int INT039)
Declare Procedure PROC004(Int INT045, Int INT046, Var Boolean BOOLEAN013, Var Int INT047)
Declare Procedure PROC005(Int INT016)
Declare Procedure PROC006()
Declare Procedure PROC007(Int INT036)
Declare Procedure PROC008(BigStr BIGSTR003)
;------------------------------------------------------------------------------
PROC006()
While (1) Do
PROC001(STRING014, INT004)
If (BOOLEAN003) PrintLn "Using dir ", STRING014, " ", String(INT004)
PROC002(STRING014, INT004)
EndWhile
End
;------------------------------------------------------------------------------
Procedure PROC006()
BOOLEAN003 = 0
INT006 = ToInteger(PCBMac("@NUMDIR@"))
STRING001 = PPEPath() + "list.cfg"
If (TokCount() > 0) Then
BOOLEAN005 = 1
STRING015 = GetToken()
If (STRING015 == "U") Then
INT004 = INT006
Goto LABEL001
Endif
INT004 = ToInt(STRING015)
Endif
:LABEL001
Tokenize ReadLine(STRING001, 1)
INT005 = GetToken()
If (GetToken() == "Y") BOOLEAN004 = 1
GetUser
If (BOOLEAN005) Goto LABEL002
Newline
PrintLn "@X08[@X07PWA@X08] @X07Extended DirList v1.0 @X08[@X0FC@X08] @X07BlackCat"
Newline
:LABEL002
STRING006 = GetToken()
STRING007 = GetToken()
STRING008 = GetToken()
STRING017 = GetToken()
STRING019 = GetToken()
STRING020 = GetToken()
STRING018 = GetToken()
STRING021 = GetToken()
STRING022 = GetToken()
STRING024 = GetToken()
STRING023 = GetToken()
STRING025 = GetToken()
TSTRING010(1) = STRING023 + "B" + STRING024 + "ack"
TSTRING010(2) = STRING023 + "F" + STRING024 + "orward"
TSTRING010(3) = STRING023 + "T" + STRING024 + "op"
TSTRING010(4) = STRING023 + "E" + STRING024 + "nd"
TSTRING010(5) = STRING023 + "L" + STRING024 + "ength"
TSTRING010(6) = STRING023 + "R" + STRING024 + "edisp"
TSTRING010(7) = STRING023 + "Q" + STRING024 + "uit"
STRING011 = STRING025
INT001 = 7
STRING009 = Upper(ReadLine(STRING001, 3))
If (STRING009 == "N") BOOLEAN006 = 1
STRING002 = ReadLine(STRING001, 4)
STRING004 = ReadLine(STRING001, 5)
STRING003 = ReadLine(STRING001, 6)
STRING005 = ReadLine(STRING001, 7)
EndProc
;------------------------------------------------------------------------------
Function FUNCTION004(Int INT007, String STRING026, Int INT008) Int
Int INT010
Int TINT011(10)
Int TINT012(10)
Int INT013
Int INT014
Int INT015
String STRING027
Int INT016
INT013 = GetX()
INT014 = GetY()
For INT010 = 1 To INT001
TINT011(INT010) = GetX()
TINT012(INT010) = GetY()
Print TSTRING010(INT010)
Print " "
Next
If (INT007 < 0) Then
INT015 = INT002
Else
INT015 = INT007
Endif
PROC005(TINT011(INT015))
Print STRING011, StripAtx(TSTRING010(INT015))
While (1) Do
STRING027 = Inkey()
If (Upper(STRING027) == Chr(13)) Then
DefColor
FUNCTION004 = INT015
Break
Continue
Endif
If ((((Upper(STRING027) == "RIGHT") || (Upper(STRING027) == "DOWN")) || (Upper(STRING027) == " ")) || (Upper(STRING027) == Chr(9))) Then
If ((STRING027 == "DOWN") && (INT008 == 1)) Then
INT002 = INT015
FUNCTION004 = -2
Return
Endif
If (((STRING027 == " ") || (STRING027 == Chr(9))) && (INT008 == 1)) Then
INT002 = INT015
FUNCTION004 = -2
Return
Endif
PROC005(TINT011(INT015))
Print TSTRING010(INT015)
If (INT015 == INT001) Then
INT015 = 1
Goto LABEL003
Endif
Inc INT015
:LABEL003
PROC005(TINT011(INT015))
Print STRING011, StripAtx(TSTRING010(INT015))
Continue
Endif
If (Upper(STRING027) == "PGDN") Then
If (INT008 == 1) Then
FUNCTION004 = 2
Return
Endif
Continue
Endif
If (Upper(STRING027) == "PGUP") Then
If (INT008 == 1) Then
FUNCTION004 = 1
Return
Endif
Continue
Endif
If ((Upper(STRING027) == "LEFT") || (Upper(STRING027) == "UP")) Then
If ((STRING027 == "UP") && (INT008 == 1)) Then
INT002 = INT015
FUNCTION004 = -1
Return
Endif
PROC005(TINT011(INT015))
Print TSTRING010(INT015)
If (INT015 == 1) Then
INT015 = INT001
Goto LABEL004
Endif
Dec INT015
:LABEL004
PROC005(TINT011(INT015))
Print STRING011, StripAtx(TSTRING010(INT015))
Continue
Endif
If (Upper(STRING027) == "END") Then
PROC005(TINT011(INT015))
Print TSTRING010(INT015)
INT015 = INT001
PROC005(TINT011(INT015))
Print STRING011, StripAtx(TSTRING010(INT015))
Continue
Endif
If (Upper(STRING027) == "HOME") Then
PROC005(TINT011(INT015))
Print TSTRING010(INT015)
INT015 = 1
PROC005(TINT011(INT015))
Print STRING011, StripAtx(TSTRING010(INT015))
Continue
Endif
If (Upper(STRING027) == "?") Then
If (STRING026 <> "") Then
SaveScrn
StartDisp 2
DispFile STRING026, 1 + 4
Wait
RestScrn
StartDisp 1
Endif
Continue
Endif
If (Upper(STRING027) == "") Then
Continue
Endif
For INT010 = 1 To INT001
If (Upper(STRING027) == Left(Strip(StripAtx(TSTRING010(INT010)), " "), 1)) Then
PROC005(TINT011(INT015))
Print TSTRING010(INT015)
INT015 = INT010
PROC005(TINT011(INT015))
Print STRING011, StripAtx(TSTRING010(INT015))
KbdStuff Chr(13)
Break
Endif
Next
EndWhile
EndFunc
;------------------------------------------------------------------------------
Procedure PROC005(Int INT016)
Int INT017
INT017 = GetX()
If (INT017 > INT016) Then
Backup INT017 - INT016
ElseIf (INT017 < INT016) Then
Forward INT016 - INT017
Endif
EndProc
;------------------------------------------------------------------------------
Function FUNCTION005(Int INT018, String STRING028) Int
String STRING029
FUNCTION005 = FUNCTION004(INT018, STRING028, 1)
EndFunc
;------------------------------------------------------------------------------
Procedure PROC001(Var String STRING029, Var Int INT020)
String STRING030
String STRING031
String STRING032
Int INT021
FreshLine
STRING030 = ReadLine(PCBDat(), 31) + ".@@@"
While (1) Do
If (BOOLEAN005) Goto LABEL005
FreshLine
STRING031 = ""
InputStr STRING005 + "_", STRING031, 7, 30, Mask_Num() + "U", 0 + 8
Goto LABEL006
:LABEL005
STRING031 = String(INT020)
BOOLEAN005 = 0
:LABEL006
If (STRING031 == "") Then
DefColor
FreshLine
End
Continue
Endif
If (Upper(STRING031) == "U") Then
INT020 = INT006
Break
Continue
Endif
INT020 = STRING031
If ((INT020 >= 1) && (INT020 <= INT006)) Break
EndWhile
FClose -1
If (INT020 == INT006) Then
FClose 1
FOpen 1, STRING030, 0, 0
FRead 1, INT021, 2
FSeek 1, CurConf() * INT021 + 2 + 156, 0
FRead 1, STRING029, 29
If (BOOLEAN003) PrintLn "Dir = ", STRING029
FClose 1
Return
Else
FOpen 1, STRING030, 0, 0
FRead 1, INT021, 2
FSeek 1, CurConf() * INT021 + 2 + 482, 0
FRead 1, STRING032, 33
If (BOOLEAN003) PrintLn "Using dir.lst: ", STRING032
FClose 1
If (Exist(STRING032)) Goto LABEL007
PrintLn "Error reading ", STRING032
Wait
End
:LABEL007
FOpen 1, STRING032, 0, 0
FSeek 1, 96 * (ToInt(INT020) - 1), 0
If (Ferr(1)) Then
PrintLn "Error reading ", STRING032
Wait
End
Else
FRead 1, STRING029, 30
STRING029 = RTrim(STRING029, " ")
Endif
FClose 1
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC002(String STRING033, Int INT022)
String STRING034
Int INT023
Int INT024
Boolean BOOLEAN007
Boolean BOOLEAN008
Int INT025
STRING034 = STRING033 + ".idx"
If (BOOLEAN003) PrintLn "Checking Idx ", STRING034
If (!FUNCTION001(STRING033, STRING034, INT022)) Return
FOpen 1, STRING034, 0, 0
FOpen 2, STRING033, 0, 0
StartDisp 1
If (BOOLEAN004) Then
INT023 = 1
BOOLEAN008 = 0
FSeek 1, 0, 2
Else
INT023 = 2
BOOLEAN008 = 1
FSeek 1, 16, 0
Endif
INT024 = 0
While (1) Do
If (INT023 == 1) Then
If (BOOLEAN008 && (INT024 > 0)) Then
If (BOOLEAN003) PrintLn "SEEEEEEEEEEEKING Backwards - ", String(INT024 * 16)
If (BOOLEAN003) Wait
FSeek 1, -INT024 * 16, 1
Endif
PROC003(1, 2, BOOLEAN007, INT024)
If (BOOLEAN007) Then
BOOLEAN007 = 0
FClose 1
FOpen 1, STRING034, 0, 0
FSeek 1, 16, 0
Endif
If (BOOLEAN003) PrintLn "Entriesread = ", String(INT024)
If (BOOLEAN003) Wait
BOOLEAN008 = 0
If (INT025) Then
INT023 = FUNCTION002(INT023, 2)
INT023 = -2
INT025 = 0
Continue
Goto LABEL008
Endif
INT023 = FUNCTION002(INT023, 1)
:LABEL008
Continue
Endif
If (INT023 == 2) Then
If (!BOOLEAN008 && (INT024 > 0)) Then
If (BOOLEAN003) PrintLn "SEEEEEEEEEEEKING Backwards - ", String(INT024 * 16)
If (BOOLEAN003) Wait
FSeek 1, INT024 * 16, 1
Endif
PROC004(1, 2, BOOLEAN007, INT024)
If (BOOLEAN003) PrintLn "Entriesread = ", String(INT024)
If (BOOLEAN003) Wait
If (BOOLEAN007) Then
BOOLEAN007 = 0
FClose 1
FOpen 1, STRING034, 0, 0
FSeek 1, 0, 2
Endif
BOOLEAN008 = 1
If (INT025) Then
INT023 = FUNCTION002(INT023, 2)
INT023 = -2
INT025 = 0
Continue
Goto LABEL009
Endif
INT023 = FUNCTION002(INT023, 1)
:LABEL009
Continue
Endif
If (INT023 == 3) Then
FSeek 1, 16, 0
BOOLEAN008 = 1
INT023 = 2
Continue
Endif
If (INT023 == 4) Then
FSeek 1, 0, 2
BOOLEAN008 = 0
INT023 = 1
Continue
Endif
If (INT023 == 5) Then
Backup 80
STRING015 = ScrText(GetX(), GetY(), 80, 1)
ClrEol
STRING016 = "0"
InputStr "@X07Description length [1-60]: _", STRING016, 7, 2, Mask_Num(), 0
If (STRING016 <> "") Then
INT005 = ToInt(STRING016)
If (INT005 < 0) INT005 = 61
If (INT005 > 60) INT005 = 61
Endif
Backup 80
ClrEol
Print STRING015
If (BOOLEAN008) Goto LABEL010
FSeek 1, INT024 * 16, 1
INT023 = 1
Goto LABEL011
:LABEL010
FSeek 1, -INT024 * 16, 1
INT023 = 2
:LABEL011
Continue
Endif
If (INT023 == -1) Then
INT023 = FUNCTION003(-1)
If (INT023 == 0) Then
INT023 = FUNCTION002(-1, 0)
Goto LABEL012
Endif
INT025 = -1
:LABEL012
Continue
Endif
If (INT023 == -2) Then
INT023 = FUNCTION003(-2)
If (INT023 == 0) Then
INT023 = FUNCTION002(-2, 0)
Goto LABEL013
Endif
INT025 = -2
:LABEL013
Continue
Endif
If (INT023 == 6) Then
If (BOOLEAN008) Goto LABEL014
FSeek 1, INT024 * 16, 1
INT023 = 1
Goto LABEL015
:LABEL014
FSeek 1, -INT024 * 16, 1
INT023 = 2
:LABEL015
Continue
Endif
If (INT023 == 7) Then
Break
Endif
EndWhile
FClose 1
FClose 2
EndProc
;------------------------------------------------------------------------------
Function FUNCTION003(Int INT026) Int
String STRING035
String STRING036
Int INT028
Int INT029
Int INT030
Boolean BOOLEAN009
Boolean BOOLEAN010
Int INT031
Int INT032
String STRING037
String STRING038
Int INT033
Int INT034
Int INT035
Int INT036
Print Chr(27) + "[s"
Backup 80
DefColor
ClrEol
Print STRING004
INT030 = 0
INT028 = 0
INT029 = 0
While (1) Do
Inc INT028
ScrFile INT028, STRING035
If (STRING035 == "") Then
Break
Continue
Endif
TSTRING013(INT029) = STRING035
TINT003(INT029) = INT028
TBOOLEAN001(INT029) = 0
TBOOLEAN002(INT029) = 0
Inc INT029
EndWhile
If (INT029 == 0) Then
Print Chr(27) + "[u"
Backup 80
FUNCTION003 = 0
Return
Endif
If (INT026 == -1) Then
INT031 = INT029 - 1
Else
INT031 = 0
Endif
INT032 = 0
BOOLEAN009 = 0
While (1) Do
AnsiPos 1, TINT003(INT031)
Print STRING022, TSTRING013(INT031)
While (1) Do
STRING037 = Inkey()
If (Upper(STRING037) == "HOME") Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
INT031 = 0
Break
Continue
Endif
If (Upper(STRING037) == "END") Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
INT031 = INT029 - 1
Break
Continue
Endif
If (Upper(STRING037) == "PGDN") Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
Print Chr(27) + "[u"
INT030 = 2
BOOLEAN009 = 1
Break
Continue
Endif
If (Upper(STRING037) == "PGUP") Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
Print Chr(27) + "[u"
INT030 = 1
BOOLEAN009 = 1
Break
Continue
Endif
If (((Upper(STRING037) == "DOWN") || (Upper(STRING037) == "]")) || (Upper(STRING037) == " ")) Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
If (INT031 == INT029 - 1) Then
Print Chr(27) + "[u"
Backup 80
BOOLEAN009 = 1
Break
Goto LABEL016
Endif
Inc INT031
:LABEL016
Break
Continue
Endif
If ((Upper(STRING037) == "UP") || (Upper(STRING037) == "[")) Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
If (INT031 == 0) Then
INT031 = INT029 - 1
Goto LABEL017
Endif
Dec INT031
:LABEL017
Break
Continue
Endif
If (((Upper(STRING037) == Chr(27)) || (Upper(STRING037) == "Q")) || (Upper(STRING037) == Chr(9))) Then
AnsiPos 1, TINT003(INT031)
Print STRING017, TSTRING013(INT031)
Print Chr(27) + "[u"
Backup 80
BOOLEAN009 = 1
Break
Continue
Endif
If (Upper(STRING037) == Chr(13)) Then
STRING038 = ScrText(23, TINT003(INT031), 1, 0)
AnsiPos 23, TINT003(INT031)
TBOOLEAN002(INT031) = 0
If (STRING038 == StripAtx(STRING006)) Then
TBOOLEAN001(INT031) = 0
Print STRING008, " "
Goto LABEL018
Endif
TBOOLEAN001(INT031) = 1
Print STRING006
:LABEL018
If (INT031 == INT029 - 1) Then
KbdStuff "Q"
Goto LABEL019
Endif
KbdStuff "]"
:LABEL019
Continue
Endif
If (Upper(STRING037) == "N") Then
If (BOOLEAN006) Goto LABEL021
STRING038 = ScrText(23, TINT003(INT031), 1, 0)
AnsiPos 23, TINT003(INT031)
TBOOLEAN001(INT031) = 0
If (STRING038 == StripAtx(STRING007)) Then
TBOOLEAN002(INT031) = 0
Print STRING008, " "
Goto LABEL020
Endif
TBOOLEAN002(INT031) = 1
Print STRING007
:LABEL020
If (INT031 == INT029 - 1) Then
KbdStuff "Q"
Goto LABEL021
Endif
KbdStuff "]"
:LABEL021
Continue
Endif
If (Upper(STRING037) == "V") Then
Print Chr(27) + "[u"
Print Chr(27) + "[s"
DefColor
SaveScrn
STRING036 = Upper(ReadLine(STRING001, 2))
Command 1, STRING036 + " " + TSTRING013(INT031)
StartDisp 1
RestScrn
Print Chr(27) + "[u"
Continue
Endif
If (Upper(STRING037) == "F") Then
PROC007(INT031)
KbdStuff "]"
Endif
EndWhile
If (BOOLEAN009) Break
EndWhile
BIGSTR001 = ""
BIGSTR002 = ""
BOOLEAN009 = 0
BOOLEAN010 = 0
INT034 = 0
INT035 = 0
Backup 80
For INT033 = 0 To INT029 - 1
If (TBOOLEAN001(INT033)) Then
Inc INT034
If (INT034 == 15) Then
INT034 = 0
Command 0, "flag " + BIGSTR001
BIGSTR001 = ""
BOOLEAN009 = 0
Endif
BIGSTR001 = BIGSTR001 + " " + TSTRING013(INT033)
BOOLEAN009 = 1
Endif
If (TBOOLEAN002(INT033)) Then
Inc INT035
BIGSTR002 = BIGSTR002 + " " + TSTRING013(INT033)
BOOLEAN010 = 1
Endif
Next
If (BOOLEAN009) Command 0, "flag " + BIGSTR001
If (BOOLEAN010) PROC008(BIGSTR002)
StartDisp 1
FUNCTION003 = INT030
EndFunc
;------------------------------------------------------------------------------
Procedure PROC007(Int INT036)
Print Chr(27) + "[u"
Print Chr(27) + "[s"
DefColor
SaveScrn
Cls
FSeek 2, TDWORD001(INT036), 0
FGet 2, STRING015
Print STRING017, Left(STRING015, 12)
Print STRING020, Mid(STRING015, 13, 9)
Print STRING021, Mid(STRING015, 22, 11)
PrintLn STRING019, Mid(STRING015, 33, 45)
:LABEL022
If (Ferr(2)) Goto LABEL023
FGet 2, STRING015
If (Left(STRING015, 1) <> " ") Then
Goto LABEL023
Else
PrintLn STRING018, Space(32) + Right(STRING015, Len(STRING015) - 32)
Endif
Goto LABEL022
:LABEL023
Wait
StartDisp 1
RestScrn
EndProc
;------------------------------------------------------------------------------
Procedure PROC008(BigStr BIGSTR003)
String STRING039
STRING039 = STRING009 + "\work\bcnk" + String(CurConf()) + "." + String(PcbNode())
If (Upper(ReadLine(STRING039, 1)) <> U_Name()) Then
FClose -1
Delete STRING039
FAppend 3, STRING039, 1, 0
FPutLn 3, U_Name()
Else
FClose -1
FAppend 3, STRING039, 1, 0
Endif
Tokenize BIGSTR003
STRING039 = GetToken()
Newline
While (1) Do
STRING039 = GetToken()
If (STRING039 == "") Break
FPutLn 3, STRING039 + " " + String(INT004)
FreshLine
PrintLn "@X0F", STRING039, " added for nuking"
EndWhile
FClose 3
EndProc
;------------------------------------------------------------------------------
Procedure PROC003(Int INT037, Int INT038, Var Boolean BOOLEAN011, Var Int INT039)
DWord DWORD002
Boolean BOOLEAN012
Int INT040
Int INT041
Int INT042
Int INT043
Int INT044
String STRING040
INT041 = 0
INT040 = 1
INT042 = 1
BOOLEAN012 = 0
INT043 = 0
BOOLEAN011 = 0
While (1) Do
FSeek INT037, -3, 1
FRead INT037, DWORD002, 3
FSeek INT037, -17, 1
FSeek INT037, 1, 1
If (Ferr(INT037)) Then
If (BOOLEAN003) PrintLn "Start of idxfile reached idx (back) =", String(INT040)
TSTRING012(INT040) = ""
BOOLEAN011 = 1
Break
Endif
FSeek INT038, DWORD002, 0
FGet INT038, STRING040
If (BOOLEAN003) PrintLn "1=", STRING040
TSTRING012(INT040) = STRING040
TDWORD001(INT043) = DWORD002
DWORD002 = DWORD002 + Len(STRING040) + 2
INT042 = INT040
Inc INT040
INT044 = 0
If (INT005 == 1) Then
Inc INT043
Else
While (1) Do
FGet INT038, STRING040
If (BOOLEAN003) PrintLn "2=", STRING040
STRING040 = LTrim(STRING040, " ")
If (Left(STRING040, 1) <> "|") Then
Inc INT043
Break
Endif
TSTRING012(INT040) = Space(32) + LTrim(STRING040, "|")
Inc INT040
Inc INT044
If (INT044 >= INT005 - 1) Then
Inc INT043
Break
Endif
EndWhile
Endif
If (BOOLEAN003) Print "IDX=", String(INT040)
If (BOOLEAN003) Wait
If (INT040 - 1 > U_PageLen - 1) Then
If (INT043 > 1) Then
If (BOOLEAN003) Print "resetting idx", String(INT040)
If (BOOLEAN003) Wait
INT040 = INT042
Dec INT043
FSeek INT037, +16, 1
Endif
TSTRING012(INT040) = ""
Break
Endif
If (BOOLEAN012) Then
TSTRING012(INT040) = ""
Break
Endif
EndWhile
If (INT043 == 0) Return
INT039 = INT043
EndProc
;------------------------------------------------------------------------------
Procedure PROC004(Int INT045, Int INT046, Var Boolean BOOLEAN013, Var Int INT047)
DWord DWORD003
Boolean BOOLEAN014
Boolean BOOLEAN015
Int INT048
Int INT049
Int INT050
Int INT051
Int INT052
String STRING041
INT049 = 0
INT048 = 1
INT050 = 1
BOOLEAN014 = 0
INT051 = 0
BOOLEAN015 = 0
BOOLEAN013 = 0
While (1) Do
FSeek INT045, 13, 1
FRead INT045, DWORD003, 3
If (Ferr(INT045)) Then
If (BOOLEAN003) PrintLn "End of idxfile reached lastidx =", String(INT050)
BOOLEAN013 = 1
TSTRING012(INT048) = ""
If (BOOLEAN003) Wait
Break
Endif
FSeek INT046, DWORD003, 0
FGet INT046, STRING041
If (BOOLEAN003) PrintLn "1=", STRING041
TSTRING012(INT048) = STRING041
TDWORD001(INT051) = DWORD003
DWORD003 = DWORD003 + Len(STRING041) + 2
INT050 = INT048
Inc INT048
If (STRING041 == "") Then
INT047 = INT051
Return
Endif
INT052 = 0
If (INT005 == 1) Then
Inc INT051
Else
While (1) Do
FGet INT046, STRING041
If (BOOLEAN003) PrintLn "2=", STRING041
STRING041 = LTrim(STRING041, " ")
If (Left(STRING041, 1) <> "|") Then
Inc INT051
Break
Endif
TSTRING012(INT048) = Space(32) + LTrim(STRING041, "|")
Inc INT048
Inc INT052
If (INT052 >= INT005 - 1) Then
Inc INT051
Break
Endif
EndWhile
Endif
If (BOOLEAN003) Wait
If (INT048 - 1 > U_PageLen - 1) Then
If (INT051 > 1) Then
INT048 = INT050
Dec INT051
FSeek INT045, -16, 1
Endif
TSTRING012(INT048) = ""
Break
Endif
If (BOOLEAN014) Then
TSTRING012(INT048) = ""
Break
Endif
EndWhile
If (INT051 == 0) Return
INT047 = INT051
EndProc
;------------------------------------------------------------------------------
Function FUNCTION002(Int INT053, Int INT054) Int
String STRING042
Int INT056
String STRING043
If (INT054 <> 0) Then
If (TSTRING012(1) == "") Then
If (INT054 <> 2) Then
DefColor
FreshLine
PrintLn STRING003
Endif
Goto LABEL024
Endif
DefColor
Cls
For INT056 = 1 To 60
If (TSTRING012(INT056) == "") Break
STRING042 = Left(TSTRING012(INT056), 1)
If (STRING042 == " ") Then
PrintLn STRING018, TSTRING012(INT056)
Continue
Endif
Print STRING017, Left(TSTRING012(INT056), 12)
Print STRING020, Mid(TSTRING012(INT056), 13, 9)
Print STRING021, Mid(TSTRING012(INT056), 22, 11)
PrintLn STRING019, Mid(TSTRING012(INT056), 33, 45)
Next
FreshLine
:LABEL024
If (INT054 == 2) Then
FUNCTION002 = INT053
Return
Endif
Endif
Print STRING002
FUNCTION002 = FUNCTION005(INT053, "")
EndFunc
;------------------------------------------------------------------------------
Function FUNCTION001(String STRING043, String STRING044, Int INT057) Boolean
Boolean BOOLEAN017
Date DATE001
Date DATE002
Time TIME001
Time TIME002
BOOLEAN017 = 0
If (Exist(STRING043)) Goto LABEL025
FUNCTION001 = 0
FreshLine
PrintLn "@X0CNo DIR file found, try again!"
Return
:LABEL025
If (Exist(STRING044)) Then
DATE001 = FileInf(STRING043, 2)
TIME001 = FileInf(STRING043, 3)
DATE002 = FileInf(STRING044, 2)
TIME002 = FileInf(STRING044, 3)
If (DATE001 == DATE002) Then
If (ToInteger(TIME001) > ToInteger(TIME002)) Then
Delete STRING044
BOOLEAN017 = 1
Endif
ElseIf (DATE001 > DATE002) Then
Delete STRING044
BOOLEAN017 = 1
Endif
Else
BOOLEAN017 = 1
Endif
If (BOOLEAN017) Then
FreshLine
PrintLn "@X0FUpdating index, please wait..."
If (BOOLEAN003) Wait
KbdStuff Chr(13)
ShowOff
Dir "L " + String(INT057) + " " + "@"
ShowOn
Endif
FUNCTION001 = 1
EndFunc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 2 Cls
; 3 ClrEol
; 13 Wait
; 227 Goto
; 212 Let
; 47 Print
; 25 PrintLn
; 158 If
; 1 DispFile
; 7 FOpen
; 2 FAppend
; 12 FClose
; 6 FGet
; 2 FPutLn
; 6 StartDisp
; 1 GetUser
; 7 DefColor
; 3 Delete
; 2 InputStr
; 13 Return
; 18 Inc
; 4 Dec
; 3 Newline
; 2 Tokenize
; 7 KbdStuff
; 1 Dir
; 10 AnsiPos
; 8 Backup
; 1 Forward
; 8 FreshLine
; 3 SaveScrn
; 3 RestScrn
; 1 ShowOn
; 1 ShowOff
; 24 FSeek
; 7 FRead
; 1 ScrFile
; 8 EndProc
; 5 EndFunc
; 3 Command
;
;
; ■ Functions used :
;
; 1 +
; 23 -
; 11 *
; 71 +
; 18 -
; 79 ==
; 8 <>
; 7 <
; 5 <=
; 11 >
; 11 >=
; 122 !
; 14 &&
; 14 ||
; 3 Len(
; 34 Upper()
; 6 Mid()
; 7 Left()
; 1 Right()
; 3 Space()
; 4 Ferr()
; 19 Chr()
; 4 LTrim()
; 1 RTrim()
; 2 U_Name()
; 9 StripAtx()
; 1 Strip()
; 2 Inkey()
; 14 String()
; 2 Mask_Num()
; 3 CurConf()
; 1 PCBDat()
; 1 PPEPath()
; 1 PcbNode()
; 9 ReadLine()
; 17 GetToken()
; 3 Exist()
; 4 GetX()
; 3 GetY()
; 4 FileInf()
; 1 TokCount()
; 3 ScrText()
; 3 ToInteger()
; 3 ToInt()
; 1 PCBMac()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 12 While/EndWhile
; 96 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------